<script setup lang="ts">
  import type { HTMLAttributes } from 'vue'
  import { cn } from '@renderer/lib/utils'
  import { reactiveOmit } from '@vueuse/core'
  import { Separator, type SeparatorProps } from 'reka-ui'

  const props = withDefaults(defineProps<SeparatorProps & { class?: HTMLAttributes['class'] }>(), {
    orientation: 'horizontal',
    decorative: true
  })

  const delegatedProps = reactiveOmit(props, 'class')
</script>

<template>
  <Separator
    data-slot="separator-root"
    v-bind="delegatedProps"
    :class="
      cn(
        `bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px`,
        props.class
      )
    "
  />
</template>
